home *** CD-ROM | disk | FTP | other *** search
/ Visual Basic Toolbox / Visual Basic Toolbox (P.I.E.)(1996).ISO / dll_gen / vbdll / vbdebug.c < prev    next >
Encoding:
C/C++ Source or Header  |  1993-06-01  |  2.6 KB  |  96 lines

  1. #include "windows.h"
  2.  
  3.  
  4. //---------------------------------------------------------------------------
  5. // Global Variables...
  6. //---------------------------------------------------------------------------
  7.  
  8. HANDLE hInstance;       // Global instance handle for application
  9. HWND hwndMain;          // Main hwnd.  Needed in callback
  10.  
  11.  
  12. //---------------------------------------------------------------------------
  13. // Function declarations
  14. //---------------------------------------------------------------------------
  15.  
  16.  
  17. LONG __export CALLBACK VBDebugWndProc (HWND, UINT, WPARAM, LPARAM);
  18.  
  19.  
  20. //---------------------------------------------------------------------------
  21. // WinMain
  22. //---------------------------------------------------------------------------
  23.  
  24.  
  25. int PASCAL WinMain (HINSTANCE hInst, HINSTANCE hInstPrev, LPSTR lpstrCmdLine, int
  26.                     cmdShow)
  27. {
  28.    MSG msgMain;
  29.    WNDCLASS wc;
  30.  
  31.    // Set the global instance variable
  32.  
  33.    hInstance = hInst;
  34.  
  35.    // Register the window class if this is the first instance.
  36.    if (hInstPrev == NULL)
  37.    {
  38.       wc.lpszMenuName = NULL;
  39.       wc.lpszClassName = "VBDebug";
  40.       wc.hInstance = hInst;
  41.       wc.hIcon = NULL;
  42.       wc.hCursor = LoadCursor(NULL, IDC_ARROW);
  43.       wc.hbrBackground = (HBRUSH)(COLOR_WINDOW + 1);
  44.       wc.style = 0;
  45.       wc.lpfnWndProc = VBDebugWndProc;
  46.       wc.cbClsExtra = 0;
  47.       wc.cbWndExtra = 0;
  48.       if (!RegisterClass(&wc))
  49.          return (0);
  50.    }
  51.  
  52.    // Create the main window
  53.    if ((hwndMain = CreateWindow("VBDebug", "Stub App to Load VB DLL",
  54.                                 WS_OVERLAPPEDWINDOW, CW_USEDEFAULT, 0,
  55.                                 CW_USEDEFAULT, CW_USEDEFAULT, NULL, NULL, hInst
  56.                                 , NULL)) == NULL)
  57.       return (0);
  58.  
  59.    // Show the window and make sure it is updated.
  60.    ShowWindow(hwndMain, cmdShow);
  61.    UpdateWindow(hwndMain);
  62.  
  63.    // Main message "pump"
  64.    while (GetMessage((LPMSG)&msgMain, NULL, 0, 0))
  65.    {
  66.       TranslateMessage((LPMSG)&msgMain);
  67.       DispatchMessage((LPMSG)&msgMain);
  68.    }
  69.  
  70.    return (0);
  71. }
  72.  
  73.  
  74.  
  75. //---------------------------------------------------------------------------
  76. // VBDebugWndProc
  77. //
  78. // Window procedure for the applications window.
  79. //
  80. //---------------------------------------------------------------------------
  81.  
  82.  
  83. LONG __export CALLBACK VBDebugWndProc (HWND hwnd, UINT msg, WPARAM wParam, LPARAM lParam)
  84. {
  85.     switch (msg)
  86.     {
  87.         case WM_DESTROY:
  88.             PostQuitMessage(0);
  89.             break;
  90.  
  91.         default:
  92.             return (DefWindowProc(hwnd, msg, wParam, lParam));
  93.     }
  94.     return (0);
  95. }
  96.